746. Min Cost Climbing Stairs - LeetCode Solution


Dynamic Programming

Python Code:

class Solution:
    def minCostClimbingStairs(self, cost: List[int]) -> int:

        ans = [cost[0] , cost[1]]

        if len(cost) == 2:
            return min(ans)



        for i in range(2, len(cost), 1):
            a = ans[-1]
            b = ans[-2]

            ans.append(min(a, b) + cost[i])
        
        return min(ans[-1], ans[-2])
            
        


Comments

Submit
0 Comments
More Questions

1323B - Count Subrectangles
991C - Candies
1463A - Dungeon
1671D - Insert a Progression
1671A - String Building
1671B - Consecutive Points Segment
1671C - Dolce Vita
1669G - Fall Down
4D - Mysterious Present
1316B - String Modification
1204A - BowWow and the Timetable
508B - Anton and currency you all know
1672A - Log Chopping
300A - Array
48D - Permutations
677C - Vanya and Label
1583B - Omkar and Heavenly Tree
1703C - Cypher
1511C - Yet Another Card Deck
1698A - XOR Mixup
1702E - Split Into Two Sets
1703B - ICPC Balloons
1702F - Equate Multisets
1700A - Optimal Path
665C - Simple Strings
1708A - Difference Operations
1703E - Mirror Grid
1042A - Benches
1676B - Equal Candies
1705B - Mark the Dust Sweeper